/**
 * 监听器写法1：
 * 构造内部类
 */

package demo1.Frames.MyFrame;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MyFrame1 extends JFrame {
    //设置标签控件
    JLabel timeLabel = new JLabel("00:00:00");

    private class MyActionListener implements ActionListener {
        //添加一个内部监听类，实现ActionListener接口,重写其中的抽象方法
        //actionPerformed方法：当按钮被点击时执行此方法
        @Override
        public void actionPerformed(ActionEvent e) {
            System.out.println("按钮被点击了");

            //获取并打印当前时间
            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
            String timeStr = sdf.format(new Date());
            System.out.println(timeStr);

            //设置timeLabel显示的字符串
            timeLabel.setText(timeStr);
        }
    }
    public MyFrame1(String title) { //MyFrame的构造方法
        //调用JFrame父类中的构造方法，传入窗口标题
        super(title);

        //设置根容器
        JPanel root = new JPanel();
        this.setContentPane(root);

        //设置按钮控件
        JButton button = new JButton("开始");
        //向容器中添加控件
        root.add(button);
        root.add(timeLabel);


        //实例化监听器，设置给button
        MyActionListener listener = new MyActionListener();
        button.addActionListener(listener);

    }
}
